Imports System.Data
Imports CrystalDecisions.CrystalReports.Engine

Partial Class EmpresasReporte
  Inherits System.Web.UI.Page

  Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load

    Try
      Dim reporte As New ReportDocument()
      ' Detalle del documento
      reporte.Load(Server.MapPath("~\Documentos\Empresas\Reporte\rptEmpresas.rpt"))

      'Datos encabezado
      Dim docEmpresas As New DataAccesEmpresas()
      Dim EmpresasDetalle As New DataSet("DetalleDocumento")
      EmpresasDetalle = docEmpresas.Empresas_DetalleXML(CInt(Request.QueryString("nidDocumento")))
      reporte.SetParameterValue("pCodigo", EmpresasDetalle.Tables(0).Rows(0)("CODIGO"))
      reporte.SetParameterValue("pFechaSolicitud", CDate(EmpresasDetalle.Tables(0).Rows(0)("FECHACREACION")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pEmisor", EmpresasDetalle.Tables(0).Rows(0)("NOMBRE"))

      'Detalle del documento
	  reporte.SetParameterValue("pnid", EmpresasDetalle.Tables(1).Rows(0)("nid").ToString)
      reporte.SetParameterValue("pcodigo", EmpresasDetalle.Tables(1).Rows(0)("codigo").ToString)
      reporte.SetParameterValue("pnombre", EmpresasDetalle.Tables(1).Rows(0)("nombre").ToString)
      reporte.SetParameterValue("pRFC", EmpresasDetalle.Tables(1).Rows(0)("RFC").ToString)
      reporte.SetParameterValue("pdireccion", EmpresasDetalle.Tables(1).Rows(0)("direccion").ToString)
      reporte.SetParameterValue("pciudad", EmpresasDetalle.Tables(1).Rows(0)("ciudad").ToString)
      reporte.SetParameterValue("pCP", EmpresasDetalle.Tables(1).Rows(0)("CP").ToString)
      reporte.SetParameterValue("prepresentante", EmpresasDetalle.Tables(1).Rows(0)("representante").ToString)
      reporte.SetParameterValue("pidentificacion", EmpresasDetalle.Tables(1).Rows(0)("identificacion").ToString)
      reporte.SetParameterValue("penviaMail", EmpresasDetalle.Tables(1).Rows(0)("enviaMail").ToString)
      reporte.SetParameterValue("pemail", EmpresasDetalle.Tables(1).Rows(0)("email").ToString)
      reporte.SetParameterValue("ppais", EmpresasDetalle.Tables(1).Rows(0)("pais").ToString)
      reporte.SetParameterValue("ppresentacion", EmpresasDetalle.Tables(1).Rows(0)("presentacion").ToString)
      reporte.SetParameterValue("pestado", EmpresasDetalle.Tables(1).Rows(0)("estado").ToString)
      reporte.SetParameterValue("ptipo_Expo", EmpresasDetalle.Tables(1).Rows(0)("tipo_Expo").ToString)
      reporte.SetParameterValue("ptipo_Impo", EmpresasDetalle.Tables(1).Rows(0)("tipo_Impo").ToString)
      reporte.SetParameterValue("ppatente", EmpresasDetalle.Tables(1).Rows(0)("patente").ToString)
      reporte.SetParameterValue("precinto", EmpresasDetalle.Tables(1).Rows(0)("recinto").ToString)
      reporte.SetParameterValue("psid", EmpresasDetalle.Tables(1).Rows(0)("sid").ToString)
      reporte.SetParameterValue("psip_Naviera", EmpresasDetalle.Tables(1).Rows(0)("sip_Naviera").ToString)
      reporte.SetParameterValue("psip_Maniobrista", EmpresasDetalle.Tables(1).Rows(0)("sip_Maniobrista").ToString)
      reporte.SetParameterValue("pcontatoProveedorServicios", EmpresasDetalle.Tables(1).Rows(0)("contatoProveedorServicios").ToString)
      reporte.SetParameterValue("pvigenciaContratoProveedor", EmpresasDetalle.Tables(1).Rows(0)("vigenciaContratoProveedor").ToString)
      reporte.SetParameterValue("psip_ControlAccesos", EmpresasDetalle.Tables(1).Rows(0)("sip_ControlAccesos").ToString)
      reporte.SetParameterValue("ptipoFirma", EmpresasDetalle.Tables(1).Rows(0)("tipoFirma").ToString)
      reporte.SetParameterValue("psip_Proveedor", EmpresasDetalle.Tables(1).Rows(0)("sip_Proveedor").ToString)
      reporte.SetParameterValue("pfVigenciaFirmaAPI", CDate(EmpresasDetalle.Tables(1).Rows(0)("fVigenciaFirmaAPI")).ToString("dd/MM/yyyy HH:mm:ss"))
      
      

      'Datos Anexos
      Dim anexos As String = ""
      Dim tipos As String = ""
      For i As Integer = 0 To EmpresasDetalle.Tables(2).Rows.Count - 1
        anexos += EmpresasDetalle.Tables(2).Rows(i)("NOMBRE") + Chr(13)
        tipos += EmpresasDetalle.Tables(2).Rows(i)("TIPO") + Chr(13)
      Next
      reporte.SetParameterValue("pAnexos", anexos)
      reporte.SetParameterValue("pAnexoTipo", tipos)

      'Datos Incidencias
      Dim fecha As String = ""
      Dim descripcion As String = ""
      Dim emisor As String = ""
      For i As Integer = 0 To EmpresasDetalle.Tables(3).Rows.Count - 1
        fecha += CDate(EmpresasDetalle.Tables(3).Rows(0)("FECHAEMISION")).ToString("dd/MM/yyyy hh:mm:ss") + Chr(13)
        descripcion += EmpresasDetalle.Tables(3).Rows(i)("DESCRIPCION") + Chr(13)
        emisor += EmpresasDetalle.Tables(3).Rows(i)("NOMBRE") + Chr(13)
      Next
      reporte.SetParameterValue("pFechaIncidencia", fecha)
      reporte.SetParameterValue("pDescripcionIncidencia", descripcion)
      reporte.SetParameterValue("pEmisorIncidencia", emisor)


      'Cargar informacion de firma electronica
      Dim consultaFirmas As New DataAccesControlCasetasGranel()
      Dim firmas As New DataTable("CasetaFirmas")
      firmas = consultaFirmas.casetaGranelConsultaFirmas(CInt(Request.QueryString("nidDocumento")))
      Dim cadenaFirmas As String = String.Empty
      For Each datoFirma In firmas.Rows
        cadenaFirmas = cadenaFirmas & datoFirma("Firma").ToString() & " "
      Next
      reporte.SetParameterValue("pFirma", cadenaFirmas)

      'crvEmpresas.ParameterFieldInfo.Clear()
      Me.crvEmpresas.HasExportButton = False
      Me.crvEmpresas.HasToggleGroupTreeButton = False
      Me.crvEmpresas.EnableParameterPrompt = False
      'Me.crvEmpresas.ParameterFieldInfo = False
      Me.crvEmpresas.ReportSource = reporte

    Catch ex As Exception
      lblMensaje.Text = "Error al Cargar reporte: " + ex.Message
    End Try
  End Sub

End Class
